﻿using System;
using System.Net.Mail;
using ContactManagement.Models;

namespace ContactMvc4TB.Helpers.MailManagement
{
    public class ContactMail
    {
        /// <summary>
        /// Absenden der Mail für das Kontaktformular
        /// </summary>
        /// <param name="contactModel">ContactModel mit den Daten die per Mail versendet werden sollen</param>
        /// <returns>TRUE->Versenden erfolgreich | FALSE->Fehler beim Versenden</returns>
        public bool SendMail(ContactModel contactModel)
        {
            try
            {
                //Vorlage mail mit folgenden Einträgen
                //Datum: {0}, Firma: {1}, Ansprechpartner: {2}, Kontaktmail: {3}, Telefonnummer: {4}, Nachricht: {5}
                //Zusammenbauen der passenden Maildaten
                string mailMessage = string.Format(GlobalResources.Mailformulars.ContactMailFormularRESX, DateTime.Now.ToLongDateString(), contactModel.CompanyName, contactModel.Name, contactModel.EMail, contactModel.Telephone, contactModel.Message);
                //Kontaktaufnahme von: {0} - {1}
                string subject = string.Format(GlobalResources.Mailformulars.ContactMailSubjectRESX, contactModel.CompanyName, contactModel.Name);

                //Die Mailmessage aus dem Parameter wieder holen
                MailMessage message = new MailMessage();
                message.Subject = subject;
                message.Body = mailMessage;
                message.From = new MailAddress(WebConstants.ContactformularReceiver);
                message.To.Add(new MailAddress(WebConstants.ContactformularReceiver));

                //Der SMTP Client liest die Mail Credentials direkt aus der Web.Config aus.
                SmtpClient client = new SmtpClient();
                client.Send(message);
                return true;
            }
            catch (Exception ex)
            {
                EFDebugging.Debugging.WriteLog("SendMail für Kontaktformular: ", ex);
            }

            return false;
        }
    }
}